mini code cleanup
authorLars Hamann <lars@src.gnome.org>
Fri, 24 Jul 1998 16:22:53 +0000 (16:22 +0000)
committerLars Hamann <lars@src.gnome.org>
Fri, 24 Jul 1998 16:22:53 +0000 (16:22 +0000)
* gtk/gtkclist.c (toggle_focus_row): mini code cleanup

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkclist.c

index 36ac5e0570b4acf845b357635289e0393b51a6ae..d58621d549b4852aa9f3c1eee533d467fbf64546 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Fri Jul 24 18:15:49 1998  Lars Hamann  <lars@gtk.org>
+
+        * gtk/gtkclist.c (toggle_focus_row): mini code cleanup
+
 Fri, 24 Jul 1998 10:56:22 +0200 Paolo Molaro <lupus@debian.org>
 
        * gtk/gtkfeatures.h.in: added GTK_HAVE_ENUM_VALUE_STRUCT.
index 36ac5e0570b4acf845b357635289e0393b51a6ae..d58621d549b4852aa9f3c1eee533d467fbf64546 100644 (file)
@@ -1,3 +1,7 @@
+Fri Jul 24 18:15:49 1998  Lars Hamann  <lars@gtk.org>
+
+        * gtk/gtkclist.c (toggle_focus_row): mini code cleanup
+
 Fri, 24 Jul 1998 10:56:22 +0200 Paolo Molaro <lupus@debian.org>
 
        * gtk/gtkfeatures.h.in: added GTK_HAVE_ENUM_VALUE_STRUCT.
index 36ac5e0570b4acf845b357635289e0393b51a6ae..d58621d549b4852aa9f3c1eee533d467fbf64546 100644 (file)
@@ -1,3 +1,7 @@
+Fri Jul 24 18:15:49 1998  Lars Hamann  <lars@gtk.org>
+
+        * gtk/gtkclist.c (toggle_focus_row): mini code cleanup
+
 Fri, 24 Jul 1998 10:56:22 +0200 Paolo Molaro <lupus@debian.org>
 
        * gtk/gtkfeatures.h.in: added GTK_HAVE_ENUM_VALUE_STRUCT.
index 36ac5e0570b4acf845b357635289e0393b51a6ae..d58621d549b4852aa9f3c1eee533d467fbf64546 100644 (file)
@@ -1,3 +1,7 @@
+Fri Jul 24 18:15:49 1998  Lars Hamann  <lars@gtk.org>
+
+        * gtk/gtkclist.c (toggle_focus_row): mini code cleanup
+
 Fri, 24 Jul 1998 10:56:22 +0200 Paolo Molaro <lupus@debian.org>
 
        * gtk/gtkfeatures.h.in: added GTK_HAVE_ENUM_VALUE_STRUCT.
index 36ac5e0570b4acf845b357635289e0393b51a6ae..d58621d549b4852aa9f3c1eee533d467fbf64546 100644 (file)
@@ -1,3 +1,7 @@
+Fri Jul 24 18:15:49 1998  Lars Hamann  <lars@gtk.org>
+
+        * gtk/gtkclist.c (toggle_focus_row): mini code cleanup
+
 Fri, 24 Jul 1998 10:56:22 +0200 Paolo Molaro <lupus@debian.org>
 
        * gtk/gtkfeatures.h.in: added GTK_HAVE_ENUM_VALUE_STRUCT.
index 36ac5e0570b4acf845b357635289e0393b51a6ae..d58621d549b4852aa9f3c1eee533d467fbf64546 100644 (file)
@@ -1,3 +1,7 @@
+Fri Jul 24 18:15:49 1998  Lars Hamann  <lars@gtk.org>
+
+        * gtk/gtkclist.c (toggle_focus_row): mini code cleanup
+
 Fri, 24 Jul 1998 10:56:22 +0200 Paolo Molaro <lupus@debian.org>
 
        * gtk/gtkfeatures.h.in: added GTK_HAVE_ENUM_VALUE_STRUCT.
index 36ac5e0570b4acf845b357635289e0393b51a6ae..d58621d549b4852aa9f3c1eee533d467fbf64546 100644 (file)
@@ -1,3 +1,7 @@
+Fri Jul 24 18:15:49 1998  Lars Hamann  <lars@gtk.org>
+
+        * gtk/gtkclist.c (toggle_focus_row): mini code cleanup
+
 Fri, 24 Jul 1998 10:56:22 +0200 Paolo Molaro <lupus@debian.org>
 
        * gtk/gtkfeatures.h.in: added GTK_HAVE_ENUM_VALUE_STRUCT.
index ae07979e8b187eb77d90c9af5b505af2740591f9..59dba75be6b8174a686008cf6dd3a278f3ed0e25 100644 (file)
@@ -4966,7 +4966,8 @@ toggle_focus_row (GtkCList *clist)
   g_return_if_fail (clist != 0);
   g_return_if_fail (GTK_IS_CLIST (clist));
 
-  if (gdk_pointer_is_grabbed ())
+  if (gdk_pointer_is_grabbed () ||
+      clist->focus_row < 0 || clist->focus_row >= clist->rows)
     return;
 
   switch (clist->selection_mode)
@@ -4983,23 +4984,16 @@ toggle_focus_row (GtkCList *clist)
       clist->undo_selection = NULL;
       clist->undo_unselection = NULL;
 
+      clist->anchor = clist->focus_row;
+      clist->drag_pos = clist->focus_row;
+      clist->undo_anchor = clist->focus_row;
+      
       if (GTK_CLIST_ADD_MODE (clist))
-       {
-         clist->anchor = clist->focus_row;
-         clist->drag_pos = clist->focus_row;
-         clist->undo_anchor = clist->focus_row;
-         fake_toggle_row (clist, clist->focus_row);
-         GTK_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL);
-       }
+       fake_toggle_row (clist, clist->focus_row);
       else
-       {
-         clist->anchor = clist->focus_row;
-         clist->drag_pos = clist->focus_row;
-         clist->undo_anchor = clist->focus_row;
-         GTK_CLIST_CLASS_FW (clist)->fake_unselect_all (clist,
-                                                        clist->focus_row);
-         GTK_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL);
-       }
+       GTK_CLIST_CLASS_FW (clist)->fake_unselect_all (clist,clist->focus_row);
+
+      GTK_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL);
       break;
       
     default: